home *** CD-ROM | disk | FTP | other *** search
/ Nikkei Mac 20 / NIKKEI-MAC-CD-VOL-20-1998-12.ISO.7z / NIKKEI-MAC-CD-VOL-20-1998-12.ISO / デモソフトライブラリー / 日本テレコムODNスターターキット / Internet Setup / Modem Scripts / Midori-Hayes Optima 288 V.34 / Midori-Hayes Optima 288 V.34 next >
Text File  |  1997-05-20  |  9KB  |  475 lines

  1. !  Midori-Hayes Optima 288 V.34
  2. !
  3. !
  4. !  'mlts' resource info for this modem:
  5. !    byte 1 == 01 -> modem HAS built-in error correction protocols
  6. !    byte 2 == 01 -> modem HAS built-in data compression protocols
  7. !    byte 3 == 255 -> max number of chars in varstr 7
  8. !    byte 4 == 255 -> max number of chars in varstr 8
  9. !    byte 5 == 255 -> max number of chars in varstr 9
  10. !    
  11. @ORIGINATE
  12. @ANSWER
  13. !
  14. ! ---- Initial modem setup ----
  15. !
  16. ! Set serial port speed depending upon the compression flag
  17. !    A higher rate with compression on to handle expanded data from the modem
  18. !    A lower rate closer to the DCE when compression is off
  19. ifstr 5 1 "0"
  20. serreset 57600, 0, 8, 1
  21. jump 2
  22. !
  23. @LABEL 1
  24. serreset 38400, 0, 8, 1
  25. !
  26. @LABEL 2
  27. hsreset 0 0 0 0 0 0
  28. settries 0
  29. !
  30. ! Get the modem's attention
  31. !
  32. matchclr
  33. matchstr 1 3 "OK¥13¥10"
  34. write "AT¥13"
  35. matchread 30
  36. !
  37. @LABEL 3
  38. !
  39. ! Setup the modem for the following:
  40. !   Reset to factory settings
  41. !   Standard compression/reliablity
  42. !   Lock serial port speed
  43. !   Serial port hardware handshaking, turn off software handshaking
  44. !   Verbose responces and compression/protocol results
  45. !   CONNECT returns DCE speed
  46. !   Turn off answering
  47. !   Reset or return to command mode on DTR toggle (optional)
  48. !
  49. matchclr
  50. matchstr 1 4   "OK¥13¥10"
  51. matchstr 2 101 "ERROR¥13¥10"
  52. write "AT&FE0W2L1S95=45S7=90S0=0¥13"
  53. matchread 30
  54. inctries
  55. iftries 3 101
  56. !
  57. ! Reset the Modem on setup failure
  58. !
  59. DTRClear
  60. pause 5
  61. DTRSet
  62. flush
  63. jump 3
  64. !
  65. !
  66. @LABEL 4
  67. ! Varstring 4 , reliable link protocol:
  68. !    = 0, handled by computer (ARAP)
  69. !    = 1, handled by modem (PPP)
  70. !    = 2, MNP10 protocol (Cellular protocol, no longer supported)
  71. ifstr 4 5 "1"
  72. ifstr 4 5 "2"
  73. !
  74. ! Varstring 4 == 0, turn off reliable link protocol in modem (ARAP)
  75. matchclr
  76. matchstr 1 9 "OK¥13¥10"
  77. write "AT&Q6¥13"
  78. matchread 30
  79. jump 101
  80. !
  81. !
  82. @LABEL 5
  83. ! Varstring 5, compression protocol:
  84. !    = 0, handled by computer 
  85. !    = 1, handled by modem
  86. ifstr 5 9 "1"
  87. !
  88. ! Varstring 5 == 0, turn off compression protocol in modem.
  89. matchclr
  90. matchstr 1 9 "OK¥13¥10"
  91. write "ATS46=136¥13"
  92. matchread 30
  93. jump 101
  94. !
  95. !
  96. @LABEL 9
  97. ! Varstring 2, modem speaker:
  98. !    = 0, speaker off
  99. !    = 1, speaker on
  100. ifstr 2 13 "1"
  101. pause 5
  102. matchclr
  103. matchstr 1 13 "OK¥13¥10"
  104. write "ATM0¥13"
  105. matchread 30
  106. jump 101
  107. !
  108. ! Modem ready, wait for a call or originate a call
  109. !
  110. @LABEL 13
  111. ifANSWER 32
  112. !
  113. !
  114. ! ---- Originating a call ----
  115. !
  116. ! Varstring 6, dialing mode:
  117. !    = 0, normal dialing
  118. !    = 1, blind dialing
  119. !    = 2, manual dialing
  120. !    otherwise dial as ARA version 1.0
  121. ifstr 6 19 "0"
  122. ifstr 6 17 "1"
  123. ifstr 6 15 "2"
  124. !
  125. ! Dialing for ARA version 1.0
  126. note "Dialing ^1" 3
  127. write "ATD^3^1¥13
  128. jump 32
  129. !
  130. @LABEL 15
  131. ! Display ASK dialog with message.  Goto label 107 if dialog canceled.
  132. ASK 2 "Pick up the phone & dial ^1.  Hit OK when the phone rings, then hangup." 107
  133. note "Manual dialing initiated" 3
  134. ! X1 to ignore dialtone & busy, D to dial, ¥^ generates data tone
  135. write "ATX1D¥13"
  136. jump 32
  137. !
  138. @LABEL 17
  139. note "Dialing without tone" 3
  140. matchclr
  141. matchstr 1 19 "OK¥13¥10"
  142. ! X1 to ignore dialtone & busy
  143. write "ATX1¥13"
  144. matchread 30
  145. jump 101
  146. !
  147. !
  148. !
  149. @LABEL 19
  150. ! Display the full dialstring contained in Varstring 1
  151. note "Dialing ^1" 3
  152. !
  153. ! Varstrings 7, 8 and 9, contain dialstring fragments
  154. !    Long phone numbers may need to be split into smaller groups
  155. !    for the modem to use
  156. !
  157. ! Varstring 3:  "p" for pulse & "t" for tone dialing
  158. ! Varstring 8 == blank (dialstring in varstring 7)
  159. ! Varstring 9 == blank (dialstring in varstrings 7 & 8)
  160. ! Otherwise (dialstring in varstrings 7, 8 & 9)
  161. ! ¥^ is added to the dialstring to force the modem to generate a data tone
  162. ifstr 8 27 " "
  163. ifstr 9 24 " "
  164. !
  165. !  Write dialstring in varstrings 7, 8 & 9
  166. matchclr
  167. matchstr 1 21 "OK¥13¥10"
  168. write "ATD^3^7;¥13"
  169. matchread 400
  170. jump 101
  171.  
  172. @LABEL 21
  173. matchclr
  174. matchstr 1 22 "OK¥13¥10"
  175. write "ATD^3^8;¥13"
  176. matchread 400
  177. jump 101
  178.  
  179. @LABEL 22
  180. write "ATD^3^9¥13"
  181. jump 32
  182. !
  183. !
  184. @LABEL 24
  185. !  Write dialstring in varstrings 7 & 8
  186. matchclr
  187. matchstr 1 25 "OK¥13¥10"
  188. write "ATD^3^7;¥13"
  189. matchread 400
  190. jump 101
  191.  
  192. @LABEL 25
  193. write "ATD^3^8¥13"
  194. jump 32
  195. !
  196. @LABEL 27
  197. !  Write dialstring in varstring 7
  198. write "ATD^3^7¥13"
  199. !
  200. !
  201. !    ---- Connection responce ----
  202. !
  203. ! The following section will parse modem responces of two types:
  204. !   1) PROTOCOL: xxx, COMPRESSION: xxx, CONNECT xxx
  205. !   2) CONNECT xxx/ARQ/V42
  206. !
  207. @LABEL 32
  208. matchclr
  209. matchstr  1 81  "RING¥13¥10"
  210. matchstr  2 102 "NO DIALTONE¥13¥10"
  211. matchstr  3 103 "NO CARRIER"
  212. matchstr  4 103 "ERROR¥13¥10"
  213. matchstr  5 104 "BUSY¥13¥10"
  214. matchstr  6 105 "NO ANSWER¥13¥10"
  215. matchstr  7 33  "CONNECT "
  216. matchstr  8 32  "CARRIER"
  217. matchstr  9 40  "CONNECT¥13¥10"
  218. matchstr 10 62  "PROTOCOL: LAP"
  219. matchstr 11 62  "PROTOCOL: MNP"
  220. matchstr 12 62  "PROTOCOL: ALT"
  221. matchstr 13 67  "COMPRESSION: V"
  222. matchstr 14 67  "COMPRESSION: MNP5"
  223. matchstr 15 67  "COMPRESSION: CLASS"
  224. matchread 700
  225. ifANSWER 32
  226. jump 105
  227. !
  228. !  Parse the speed of connect result codes
  229. !  2400 and 4800 have two entries each
  230. !  to distinguish them from 24000 and 48000
  231. !
  232. @LABEL 33
  233. matchclr
  234. matchstr  1 40 "2400¥13"
  235. matchstr  2 40 "2400/"
  236. matchstr  3 41 "4800¥13"
  237. matchstr  4 41 "4800/"
  238. matchstr  5 42 "7200"
  239. matchstr  6 43 "9600"
  240. matchstr  7 44 "12000"
  241. matchstr  8 45 "14400"
  242. matchstr  9 46 "16800"
  243. matchstr 10 47 "19200"
  244. matchstr 11 48 "21600"
  245. matchstr 12 49 "24000"
  246. matchstr 13 50 "26400"
  247. matchstr 14 51 "28800"
  248. matchread 30
  249. jump 59
  250. !
  251. ! -- Connection rates --
  252. ! CommunicatingAt informs ARA of the raw modem to modem
  253. ! connection speed.
  254. !
  255. @LABEL 40
  256. note "Communicating at 2400 bps." 2
  257. CommunicatingAt 2400
  258. jump 60
  259. !
  260. @LABEL 41
  261. note "Communicating at 4800 bps." 2
  262. CommunicatingAt 4800
  263. jump 60
  264. !
  265. @LABEL 42
  266. note "Communicating at 7200 bps." 2
  267. CommunicatingAt 7200
  268. jump 60
  269. !
  270. @LABEL 43
  271. note "Communicating at 9600 bps." 2
  272. CommunicatingAt 9600
  273. jump 60
  274. !
  275. @LABEL 44
  276. note "Communicating at 12400 bps." 2
  277. CommunicatingAt 12400
  278. jump 60
  279. !
  280. @LABEL 45
  281. note "Communicating at 14400 bps." 2
  282. CommunicatingAt 14400
  283. jump 60
  284. !
  285. @LABEL 46
  286. note "Communicating at 16800 bps." 2
  287. CommunicatingAt 16800
  288. jump 60
  289. !
  290. @LABEL 47
  291. note "Communicating at 19200 bps." 2
  292. CommunicatingAt 19200
  293. jump 60
  294. !
  295. @LABEL 48
  296. note "Communicating at 21600 bps." 2
  297. CommunicatingAt 21600
  298. jump 60
  299. !
  300. @LABEL 49
  301. note "Communicating at 24000 bps." 2
  302. CommunicatingAt 24000
  303. jump 60
  304. !
  305. @LABEL 50
  306. note "Communicating at 26400 bps." 2
  307. CommunicatingAt 26400
  308. jump 60
  309. !
  310. @LABEL 51
  311. note "Communicating at 28800 bps." 2
  312. CommunicatingAt 28800
  313. jump 60
  314. !
  315. @LABEL 59
  316. note "Communicating at an unknown rate." 2
  317. jump 60
  318. !
  319. ! Look for reliablilty and compression results 
  320. ! at the end of the connect result.
  321. !
  322. @LABEL 60
  323. matchclr
  324. matchstr  1 63 "LAPM"
  325. matchstr  2 63 "REL"
  326. matchstr  3 63 "ARQ"
  327. matchstr  4 68 "COMP/"
  328. matchstr  5 68 "COMP¥13"
  329. matchstr  6 63 "V42/"
  330. matchstr  7 63 "V42¥13"
  331. matchstr  8 68 "V42BIS"
  332. matchstr  9 68 "V42bis"
  333. matchstr 10 63 "MNP¥13"
  334. matchstr 11 68 "MNP5"
  335. matchstr 12 70 "¥10"
  336. matchread 30
  337. jump 70
  338.  
  339. ! -- Modem error correction link negotiation --
  340. ! Userhook 2 informs ARA that a modem-to-modem error
  341. ! correcting protocol has been negotiated
  342. !
  343. !
  344. @LABEL 62
  345. note "Modem Reliable Link Established." 2
  346. userhook 2
  347. jump 32
  348. !
  349. @LABEL 63
  350. note "Modem Reliable Link Established." 2
  351. userhook 2
  352. jump 60
  353. !
  354. ! -- Compression negotiation --
  355. ! Userhook 3 informs ARA that a modem-to-modem compression
  356. ! protocol has been negotiated
  357. !
  358. @LABEL 67
  359. note "Modem Compression Established." 2
  360. userhook 3
  361. jump 32
  362. !
  363. @LABEL 68
  364. note "Modem Compression Established." 2
  365. userhook 3
  366. jump 60
  367. !
  368. !
  369. ! -- Normal exit after "CONNECT" --
  370. !
  371. !  This modem has been setup to do CTS handshaking,
  372. !  and we assume that a CTS handshaking cable is being used.
  373. !
  374. @LABEL 70
  375. ! Turn on CTS handshaking.
  376. HSReset 0 1 0 0 0 0
  377. !
  378. ifANSWER 71
  379. pause 30
  380. @LABEL 71
  381. exit 0
  382. !
  383. !
  384. ! ---- Answer calls ----
  385. !
  386. !    A RING result from the modem and in ANSWERING mode
  387. !    claims the serial port and answering the phone
  388. !
  389. @LABEL 81
  390. ifORIGINATE 32
  391. userhook 1
  392. note "Answering phone..." 2
  393. write "ATA¥13"
  394. jump 32
  395. !
  396. !
  397. ! ---- Hang up and reset modem ----
  398. !
  399. @HANGUP
  400. @LABEL 90
  401. settries 0
  402. HSReset 0 0 0 0 0 0
  403. !
  404. @LABEL 92
  405. !  Escape from data to command mode
  406. matchclr
  407. matchstr 1 96 "OK¥13¥10"
  408. write "+++"
  409. matchread 20
  410. !
  411. @LABEL 94
  412. ! Force a hangup
  413. matchclr
  414. matchstr 1 98 "NO CARRIER¥13¥10"
  415. matchstr 2 98 "OK¥13¥10"
  416. matchstr 3 98 "ERROR¥13¥10"
  417. matchstr 4 98 "0¥13¥10"
  418. write "ATH¥13"
  419. matchread 30
  420. ! Try to get control of the modem by toggling DTR
  421. DTRClear
  422. pause 5
  423. DTRSet
  424. flush
  425. !
  426. ! Try the hangup sequence three times otherwise declare and error
  427. inctries
  428. iftries 3 101
  429. jump 92
  430. !
  431. @LABEL 96
  432. ! Pause between data and command mode
  433. pause 50
  434. jump 94
  435. !
  436. !
  437. @LABEL 98
  438. ! Recall the factory settings
  439. pause 15
  440. matchclr
  441. matchstr 1 99 "OK¥13¥10"
  442. write "AT&F¥13"
  443. matchread 30
  444. jump 101
  445. !
  446. @LABEL 99
  447. exit 0
  448. !
  449. ! ---- Error messages -----
  450. !
  451. ! Modem Not Responding
  452. @LABEL 101
  453. exit -6019
  454. !
  455. ! No Dial Tone
  456. @LABEL 102
  457. exit -6020
  458. !
  459. ! No Carrier or Error
  460. @LABEL 103
  461. exit -6021
  462. !
  463. ! Busy
  464. @LABEL 104
  465. exit -6022
  466. !
  467. ! No Answer
  468. @LABEL 105
  469. exit -6023
  470. !
  471. ! User Cancellation
  472. @LABEL 107
  473. exit -6008